The Internet is one of the most significant innovations in bringing people together, despite the physical distances between them. It paves the way for more interactions between people. For example, electronic mail, one of the most frequently used communication means in the Information Age, could not be so prevalent without the Internet.
As communication devices become mobile, so are communication means. While voice communications via telephone numbers are still the norm, short messaging or text messages are becoming the default communication method. Moreover, these text messages have evolved to be capable of handling more than just alphanumerical contents. For example, messaging software is capable of allowing text messages in the form of “chat messages” or “instant messages” to include hyperlinks, voice messages, graphics, images, videos, and animations such that they capture the full range of expressions and emotions that the participants wish to convey.
As such, there is a desire to build an all-inclusive or an all-capable messaging software to handle all aspects of a user's activities. While this may be desirable, this in-app architecture requires the app/software itself includes all necessary software infrastructure, data structure, data schemas, protocol layers, encryption layer, encryption keys, etc., to be fully comprehensive. This would inevitably increase the complexity of the software and significantly increases the risk of bugs, security holes, virus attacks, as well as privacy loopholes, etc. Moreover, despite the increased capabilities of mobile devices, the messaging software with such design still suffers issues of limited resources, such as limitation on power supply, data storage, or processing power.
It is desirable therefore to further expand the scope of the activities to enable chat participants to perform many additional tasks other than chats or conversing via the messaging software without adding burdens to the messaging software/app. It is also desirable to enable seamless transfer of information or data across software boundaries from the messaging software/app.